package com.sevilla28.app;

import android.app.Activity;
import android.content.Context;

import com.sevilla28.modelado.Cantoral;

public class CantoralHTML {
	
	private Cantoral cantoral;
	
	
	public CantoralHTML(Context context, Activity act) {
		cantoral = new Cantoral(context, act);
	}
	
	/**
	 * Obtiene una cancion aleatoria del cantoral a partir de un tipo de cancion 
	 * @param tipo
	 * @return El nombre de la cancion
	 */
	public String getCancion(String tipo) {
		return cantoral.getCancionTipoAleatoria(tipo);
	}
	
	/**
	 * Obtiene el ID de una cancion a raiz de su nombre
	 * @param name
	 * @return ID de la cancion
	 */
	public String getIDFromName(String name) {
		return cantoral.getIDFromNombre(name);
	}
	
	/**
	 * Obtiene el nombre de una cancion a partir de su ID
	 * @param id
	 * @return Nombre de la cancion
	 */
	public String getNameFromID(String id) {
		return cantoral.getNameFromID(id);
	}
	
	/**
	 * Obtiene el numero de canciones del cantoral
	 * @return
	 */
	public int getCantoralSize() {
		return cantoral.getCantoralLength();
	}
	
	/**
	 * Indica si una cancion tiene fichero de audio reproducible
	 * @param id
	 * @return
	 */
	public boolean hasSong(String id) {
		return cantoral.hasSong(id);
	}
	
	/**
	 * Indica si una cancion tiene video asociado en youtube 
	 * @param id
	 * @return
	 */
	public boolean hasVideo(String id) {
		return cantoral.hasVideo(id);
	}
	
	/**
	 * Obtiene el ID del video de youtube de una cancion a partir de su id
	 * @param id
	 * @return id de youtube
	 */
	public String getYoutubeID(String id) {
		return cantoral.getYoutubeID(id);
	}
	
	/**
	 * Reproduce una cancion a partir de su ID
	 * @param id
	 */
	public void playMusicFromID(String id) {
		cantoral.playMusicFromID(id);
	}
	
	/**
	 * Detiene o reanuda la reproduccion de canciones
	 */
	public void pauseResume() {
		cantoral.pauseResume();
	}
	
	/**
	 * Reproduce una cancion aleatoria.
	 */
	public void shuffleSong() {
		cantoral.shuffleSong();
	}
	
	/**
	 * Detiene la reproduccion de canciones
	 */
	public void stopMusic() {
		cantoral.stopMusic();
	}
	
	/**
	 * Lanza un cuadro de alerta con el texto pasado como parametro
	 * @param texto
	 */
	public void alert(String texto) {
		cantoral.alert(texto);
	}
	
	/**
	 * Lanza la aplicacion lectora de PDF para abrir el cantoral
	 */
	public void openCantoral() {
		cantoral.openCantoral();
	}
	
	public void vibrar(int tiempo) {
		cantoral.vibrar(tiempo);
	}

}
